//发送ajax请求

/**
 * 1.封装功能函数
 *    (1) 功能点明确；
 *   （2）函数内部应该保留固定代码（静态的）
 *    (3) 将动态的数据抽取成形参，由使用者根据自身情况动态的传入实参
 * 
 * 2. 封装功能组件
 *    (1) 功能点明确
 *    (2) 组件内部保留静态的代码
 *    （3）将动态的数据抽成props参数，有使用者根据自身的情况以标签的形式动态传入props数据
 *     (4) 一个良好的组件应该设置组件必要性及数据类型
 */
import {BaseUrl} from './config';
 export default (url, data={}, method='get') => {
   return new Promise((resolve, reject) => {
     //1. new Promise 初始化promise示例的状态为pending
    wx.request({
      url:BaseUrl+url,
      data,
      method,
      header:{
        cookie: wx.getStorageSync('cookies') ? wx.getStorageSync('cookies').find(item => item.indexOf('MUSIC_U') !== -1):" "
      },
      success:(res) => {
        // console.log('请求成功');
        if(data.isLogin)//登录请求
        {
          //将用户的cookie存入本地
          wx.setStorage({
            key:'cookies',
            data:res.cookies
          })
        }
        // console.log(res);
        resolve(res.data);  //传递出异步数据
      },
      fail:(err) => {
        // console.log('请求失败');
        reject(err)
      }
    })
   })

 }